current version 1.1 - 12th February 2023
version | date | comment |
---|---|---|
1.0 | 14/Sep/2011 | Original code |
1.0 | 22/Feb/2023 | Code rewritten |
license: GNU GPL http://www.gnu.org/licenses/
Simulate quasi 3D groundwater flux and river-groundwater interaction
Ravazzani, G., Rametta, D., & Mancini, M.. (2011). Macroscopic cellular automata for groundwater modelling: a first approach. Environmental modelling & software, 26(5), 634–643.
Ravazzani, G., Curti, D., Gattinoni, P., Della Valentina, S., Fiorucci, A., & Rosso, R.. (2016). Assessing groundwater contribution to streamflow of a large alpine river with heat tracer methods and hydrological modelling. River research and applications, 32(5), 871-884.
Ravazzani, G., Barbero, S., Salandin, A., Senatore, A., & Mancini, M.. (2015). An integrated hydrological model for assessing climate change impacts on water resources of the upper po river basin. Water resources management, 29 (4), 1193-1215.
Description: Write results on output file
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(GroundwaterBasin), | public | :: | basin | ||||
integer(kind=short), | public | :: | dtGroundwater | ||||
type(grid_real), | public | :: | groundwaterToRiver |
discharge from groundwater to river (m3/s) |
|||
logical, | public | :: | riverGroundwaterInteract | ||||
type(grid_real), | public | :: | riverToGroundwater |
discharge from river to groundwater (m3/s) |
|||
type(grid_real), | public | :: | vadoseDepth | ||||
integer(kind=short), | private, | parameter | :: | ACTIVE_CELL | = | 1 | |
integer(kind=short), | private, | parameter | :: | BC_DIRICHLET | = | 2 | |
integer(kind=short), | private, | parameter | :: | BC_NEUMANN | = | 3 | |
integer(kind=short), | private | :: | fileUnitOutGW | ||||
integer(kind=short), | private, | ALLOCATABLE | :: | fileUnitPointGW(:) | |||
type(grid_real), | private | :: | fluxDownward |
flux from upper aquitard (m/s) |
|||
type(grid_real), | private | :: | fluxUpward |
flux from lower aquitard (m/s) |
|||
type(grid_real), | private | :: | riverDem |
reference digital elevation model to compute river water surface elevation (m asl) |
|||
type(grid_integer), | private | :: | riverGroundwaterID |
id of river reaches that interact with groundwater |
|||
type(Table), | private | :: | riverGroundwaterParameters | ||||
type(ObservationalNetwork), | private | :: | sites | ||||
type(grid_real), | private | :: | streambedConductivity |
streambed conductivity (m/s) |
|||
type(grid_real), | private | :: | streambedThickness |
streambed thickness (m) |
|||
type(DateTime), | private | :: | timePointExport | ||||
type(grid_real), | private | :: | transmissivity |
local transmissivity (m2/s) |
|||
real(kind=float), | private | :: | volumeChange |
change of stored water volume in groundwater (m3) |
|||
real(kind=float), | private | :: | volumeDirichlet |
volume from Dirichlet boundary condition (m3) |
|||
real(kind=float), | private | :: | volumeGroundwaterToRiver |
volume from groundwater to river (m3) |
|||
real(kind=float), | private | :: | volumeNeumann |
volume from Neumann boundary condition (m3) |
|||
real(kind=float), | private | :: | volumeRecharge |
recharge volume (m3) |
|||
real(kind=float), | private | :: | volumeResidual |
balance error (m3) |
|||
real(kind=float), | private | :: | volumeRiverToGroundwater |
volume from river to groundwater (m3) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(grid_real), | public | :: | Ks | ||||
type(grid_real), | public | :: | KsAquitard | ||||
type(grid_real), | public | :: | bottom | ||||
type(grid_integer), | public | :: | domainBC | ||||
type(grid_real), | public | :: | head0 | ||||
type(grid_real), | public | :: | head1 | ||||
type(grid_real), | public | :: | sy | ||||
type(grid_real), | public | :: | top | ||||
type(grid_real), | public | :: | valueBC |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(Aquifer), | public, | POINTER | :: | aquifer(:) | |||
integer(kind=short), | public | :: | nAquifers |
number of aquifers in the basin |
Initialize groundwater
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | inifile |
stores configuration information |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(DateTime), | intent(in) | :: | time |
current time |
Initialize files for exporting output results
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | path_out |
path of output folder |
Initialize export of point site data
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | pointfile |
file containing coordinate of points |
||
character(len=*), | intent(in) | :: | path_out |
path of output folder |
||
type(DateTime), | intent(in) | :: | time |
start time |
update groundwater head with Darcy law and mass conservation in two dimensions, with a macrocopic cellular automata approach
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(DateTime), | intent(in) | :: | time | |||
type(grid_real), | intent(in) | :: | hillslopeFlux |
flux from hillslope (m3/s) |
||
type(grid_real), | intent(in) | :: | percolation |
depp infiltration from soil balance (m/s) |
||
type(grid_real), | intent(in) | :: | capflux |
capillary flux from soil balance (m/s) |
update boundary condition map that change in time
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(DateTime), | intent(in) | :: | time |
Export of point site data
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(DateTime), | intent(in) | :: | time |
Configure river-groundwater interaction
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | inifile |
configuration file |